package com.gpframework.common.enums;

import lombok.Getter;

/**
 * 门店业务配置枚举
 *
 * @author zcl
 */
@Getter
public enum StoreSysConfig {
    /**
     * 输入类型
     */
    INPUT("输入框"),
    DATE("时间控件"),
    RADIO("单选框"),
    CHECKBOX("多选框"),
    SWITCH("开关"),
    /**
     * 分组
     */
    BASE("其它设置"),
    GROUP_COURSE("团课设置"),
    PERSONAL_TRAINING("私教设置"),
    ENTRY_AND_EXIT("出入场设置"),
//    INTEGRAL("积分设置"),
//    FITNESS_CARD_MSG("健身卡消息设置"),
//    COURSE_MSG("课程消息设置"),
//    STORED_VALUE_MSG("储值消息设置"),
//    AUTO_PUSH_MSG("自动推送设置"),
//    BRAND_SYS_CONFIG("系统参数"),
//    MEMBER_SMALL_PROGRAM("会员小程序设置"),
    /**
     * 业务标识
     */
    SYS_BRAND_MENU("品牌菜单控制"),
    COURSE_TRAINING_AUTO_DESTROY("自动销课"),//废弃
    NOT_AUTO_DESTROY("不自动销课"),
    HAVE_CLASSES_AFTER_AUTO_DESTROY("下课后自动销课"),
    AUTO_DESTROY_TWENTY_FOUR_HOURS_CLASS_OVER_AFTER("下课24后自动销课"),
    HAVE_CLASSES_BEFORE_AUTO_DESTROY("上课后自动销课"),

    LESHUA_PAY_FLAG("使用乐刷支付？"),
    BASE_PERSONAL_TRAINING("会员端可查看门店私教课程设置"),
    BASE_PERSONAL_TRAINING_RECEIPTS("私教课程小票打印限制"),
    BASE_PERSONAL_TRAINING_CONTRACT("私教合同自动延顺有效期"),
    BASE_BUY_PERSONAL_TRAINING("支持储蓄卡单次购买私教课"),
    BASE_MAKE_AN_APPOINTMENT_PERSONAL_TRAINING_TIME_LIMIT("预约私教课程时间限制"),
    MEMBER_BASE_PERSONAL_CAN_SUBSCRIBE_DAY("会员可以预约几天内的私教课"),
    MEMBER_COURSE_HOURS_SUBSCRIBE("会员课程需提前几个小时预约"),
    MEMBER_COURSE_HOURS_CANCEL_SUBSCRIBE("允许在私教课程开始前几个小时取消预约"),
    MEMBER_GROUP_COURSE_CAN_SUBSCRIBE_DAY("会员可预约几天内团课"),
    GROUP_COURSE_HOURS_SUBSCRIBE("团课需提前几个小时预约"),
    GROUP_COURSE_HOURS_CANCEL_SUBSCRIBE("允许在团课开课前几个小时取消预约"),
    MANY_PEOPLE_PERSONAL_TRAINING_AUTO_CANCEL_SUBSCRIBE("多人私教课人数不足自动取消时间"),
    SALESMAN_PROTECTION("会籍保护期设置"),
    COACH_PROTECTION("私教保护期设置"),
    CAN_SUBSCRIBE_NUM("一天可以预几节课"),
    GROUP_COURSE_AUTO_REPORTS("团课自动签到"),
    GROUP_COURSE_MEMBER_AUTO_REPORTS("会员端签到条件"),
    PERSONAL_TRAINING_AUTO_REPORTS("私教自动签到"),
    PERSONAL_TRAINING_MEMBER_AUTO_REPORTS("会员端签到条件"),
    PUNCH_THE_CLOCK_INTEGRAL("每天打卡积分"),
    HAVE_CLASSES_INTEGRAL("上课积分"),
    STORED_VALUE_CONSUMPTION_INTEGRAL("消费获取得积分比例"),
    IS_OVERDUE_INTEGRAL("积分是否过期"),
    INTEGRAL_OVERDUE_YEA("积分过期时间"),
    OPEN_MEMBER_CARD_MSG("办卡合同提醒"),
    CONTINUE_MEMBER_CARD_MSG("续卡合同提醒"),
    TRANSFER_MEMBER_CARD_MSG("转卡合同提醒"),
    UPGRADE_MEMBER_CARD_MSG("升级合同提醒"),
    PERSONAL_TRAINING_CONTRACT_MSG("私教合同提醒"),
    SUBSCRIBE_COURSE_MSG("约课消息通知"),
    HAVE_CLASSES_MSG("上课消息通知"),
    STORED_VALUE_CONSUMPTION_MSG("储值消费消息通知"),
    MEMBER_STORED_VALUE_MSG("储值消息通知"),
    ADMISSION_TO_REMIND("设备入场提醒"),
    MEMBER_ENTRY_AND_EXIT_MODE("会员出入场模式"),
    ENTRY_AND_EXIT_MINUTE_DIFFER("距离上次入场几分钟后可再次入场"),
    BUSINESS_HOURS_START("营业起始时间"),//废弃
    BUSINESS_HOURS_END("营业结束时间"),//废弃
    BUSINESS_HOURS("营业时间"),
    CALCULATE_SALARY("员工业务提成计算"),
    EXAMINE_FLAG("是否开启审核"),
    WHETHER_NEED_CLASS_DISMISS_JUST_CAN_CHECK_OFF("是否下课后才能销课"),
    GROUP_CLASS_CANCELLATION_TIME("团课不足开课人数，距离开课多久前取消"),
    CLICK_CLASS_IS_OVER("开启需入场才课下课"),
    CANCEL_AFTER_VERIFICATION_TYPE("销课方式"),
    MEMBER_SHOW_MAKE_AN_APPOINTMENT_TYPE("预约类型显示"),
    PAYMENT_INSTALMENTS_MAKE_AN_APPOINTMENT("分期支付约课方式"),
    USER_ENTRANCE_QUANTITY("出入场默认次数"),
    WHETHER_TO_OPEN_THE_COURSE_ADMISSION_OFF("开启课程入场？"),
    DEDUCTION_INTERVAL("次卡扣除间隔"),
    SHOW_COURSE_UNIT_PRICE("是否展示课单价"),
    GROUP_COURSE_AUTO_WRITE_OFF("课程结束后自动销课时间"), //团课
    OPEN_PAGE_REFRESH("打开页面刷新"),
    /**
     * 选项
     */
    YES("是", "1"),
    NO("否", "0"),
    PRIVATE_EDUCATION("私教", "1"),
    GROUP_CLASS("团课", "2"),
    SWIM_CLASS("泳课", "3"),
    IS_REPORTS_PRINT("仅可以签到后才可以打印小票"),
    ANY_PRINT("任何情况都可打印"),
    AUTO_REPORTS("任何情况都可打印"),
    NOT_AUTO_REPORTS("不自动签到"),
    HAVE_CLASSES_AFTER_AUTO_REPORTS("上课后自动签到"),
    AUTO_REPORTS_TWENTY_FOUR_HOURS_CLASS_OVER_AFTER("下课 24 小时后自动签到"),
    AT_ANY_TIME_REPORTS("任何时候都可以签到"),
    HAVE_CLASSES_AND_ENTRY_RECORD("上课当天签到，且当天有入场记录"),
    CAN_T_REPORT_BEFORE_CLASS("开始上课前不能签到"),
    NOT_REPORTABLE("开始上课前不能签到"),
    BEFORE_END_OF_CONTRACT("在合同截止日期前均可"),
    AFTER_COMMENCEMENT_OF_CONTRACT("在合同开始时间后"),
    ONE_IN_ONE_OUT("一进一出", "1"),
    ENTER_AGAIN_AFTER_MINUTE("X分钟后可再次入场", "0"),
    ADMIN_TYPE("后台"),
    SMALL_PROGRAM_TYPE("小程序"),
    FACE_TYPE("人脸"),
    NOT_HAVE_A_CLASS("不可以上课"),
    TAKE_PART_OF_THE_CLASS("可以上部分课程"),
    ;
    /**
     * 门店业务配置
     */
    private String name;

    /**
     * 标识
     */
    private String key;

    StoreSysConfig(String name) {
        this.name = name;
    }

    StoreSysConfig(String name, String key) {
        this.name = name;
        this.key = key;
    }
}
